Most data storage systems include a cache memory (referred to simply as a cache), in addition to one or more mass storage devices. When the storage system receives a request to write data to a specified location, the control unit of the storage system typically places the data in the cache and immediately informs the writing entity that the write operation has been completed. The control unit then destages the data from the cache to the designated location on the target storage device in a background process. Similarly, the control unit serves read operations from the cache when possible, and stages data from the storage device to the cache only when the cache does not contain valid data for the requested location.
Data storage systems often include a concurrent copy function, which allows users to make a copy of data in a certain extent (i.e., a certain range of locations in the storage system) at a particular point-in-time. A point-in-time copy, also referred to as a concurrent copy, is a copy of the data that is consistent as of a particular point-in-time, and does not include updates to the data that occur after the point-in-time. Point-in-time copies are created for data duplication, disaster recovery, decision support, data mining and warehousing, and application development and testing. Techniques of point-in-time copying are further described in U.S. Pat. No. 6,611,901, whose disclosure is incorporated herein by reference in entirety for all purposes.